home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMICUS20.ADF
/
BobEd
/
menus.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-01-27
|
4KB
|
136 lines
#include <bobed.h>
/*
"menus.c"
This file defines the menus used.
*/
struct Menu menu [MENUS]; /* menu strip */
struct MenuItem file [FILEI]; /* file menu */
struct IntuiText filetext [FILEI]; /* item text */
struct MenuItem edit [EDITI]; /* edit menu */
struct IntuiText edittext [EDITI]; /* item text */
struct MenuItem copy [EDITI]; /* copy menu */
struct IntuiText copytext [EDITI]; /* item text */
VOID makemenu ()
{
int n;
/* init the file menu items */
for(n = 0; n < FILEI; n++)
{
file[n].NextItem = &file[n+1]; /* next item */
file[n].LeftEdge = 1; /* offset from left window border */
file[n].TopEdge = 10*n; /* offset from menu strip bottom */
file[n].Width = 40;
file[n].Height = 10;
file[n].Flags = ITEMTEXT|ITEMENABLED|HIGHCOMP;
file[n].MutualExclude = 0; /* each item is independent of others */
file[n].ItemFill = (APTR)&filetext[n];
file[n].SelectFill = NULL; /* no alternate */
file[n].Command = 0; /* no key equivalents */
file[n].SubItem = NULL; /* no sub menus */
file[n].NextSelect = 0;
filetext[n].FrontPen = 2; /* black letters */
filetext[n].BackPen = 1; /* white background */
filetext[n].DrawMode = JAM2; /* use both colors */
filetext[n].LeftEdge = 0;
filetext[n].TopEdge = 1;
filetext[n].ITextFont = NULL; /* use system font */
filetext[n].NextText = NULL;
}
file[FILEI-1].NextItem = NULL; /* Last item */
/* four options */
filetext[0].IText = (UBYTE *)"Info";
filetext[1].IText = (UBYTE *)"Load";
filetext[2].IText = (UBYTE *)"Save";
filetext[3].IText = (UBYTE *)"Quit";
/* init the edit menu items */
for(n = 0; n < EDITI; n++)
{
edit[n].NextItem = &edit[n+1]; /* next item */
edit[n].LeftEdge = 1;
edit[n].TopEdge = 10*n;
edit[n].Width = 50;
edit[n].Height = 10;
edit[n].Flags = ITEMTEXT|ITEMENABLED|HIGHCOMP;
edit[n].MutualExclude = 0;
edit[n].ItemFill = (APTR)&edittext[n];
edit[n].SelectFill = NULL;
edit[n].Command = 0;
edit[n].SubItem = NULL;
edit[n].NextSelect = 0;
edittext[n].FrontPen = 2;
edittext[n].BackPen = 1;
edittext[n].DrawMode = JAM2;
edittext[n].LeftEdge = 0;
edittext[n].TopEdge = 1;
edittext[n].ITextFont = NULL;
edittext[n].NextText = NULL;
}
edit[EDITI-1].NextItem = NULL; /* Last item */
/* three options */
edittext[0].IText = (UBYTE *)"Clear ";
edittext[1].IText = (UBYTE *)"Flip ";
edittext[2].IText = (UBYTE *)"Rotate";
/* init the edit menu items */
for(n = 0; n < COPYI; n++)
{
copy[n].NextItem = ©[n+1]; /* next item */
copy[n].LeftEdge = 1;
copy[n].TopEdge = 10*n;
copy[n].Width = 42;
copy[n].Height = 10;
copy[n].Flags = ITEMTEXT|ITEMENABLED|HIGHCOMP;
copy[n].MutualExclude = 0;
copy[n].ItemFill = (APTR)©text[n];
copy[n].SelectFill = NULL;
copy[n].Command = 0;
copy[n].SubItem = NULL;
copy[n].NextSelect = 0;
copytext[n].FrontPen = 2;
copytext[n].BackPen = 1;
copytext[n].DrawMode = JAM2;
copytext[n].LeftEdge = 0;
copytext[n].TopEdge = 1;
copytext[n].ITextFont = NULL;
copytext[n].NextText = NULL;
}
copy[COPYI-1].NextItem = NULL; /* Last item */
/* two options */
copytext[0].IText = (UBYTE *)"Copy ";
copytext[1].IText = (UBYTE *)"Paste";
/* initialize the menu strip */
for (n=0;n<MENUS;n++)
{
menu[n].NextMenu = (struct Menu *)&menu[n+1];
menu[n].LeftEdge = n*40+2;
menu[n].TopEdge = 0; /* not implemented in 1.1 */
menu[n].Width = 40;
menu[n].Height = 10;
menu[n].Flags = MENUENABLED; /* All items selectable */
menu[n].MenuName = NULL; /* later */
menu[n].FirstItem = NULL; /* later */
}
menu[MENUS-1].NextMenu = NULL;
/* three menus */
menu[0].MenuName = "File";
menu[0].FirstItem = (struct MenuItem *)&file[0];
menu[1].MenuName = "Edit";
menu[1].FirstItem = (struct MenuItem *)&edit[0];
menu[2].MenuName = "Copy";
menu[2].FirstItem = (struct MenuItem *)©[0];
}